package cn.iocoder.yudao.module.system.dal.mysql.exam;

import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.system.dal.dataobject.exam.ExamInfoDO;
import org.apache.ibatis.annotations.Mapper;

/**
 * 测评信息 Mapper
 *
 * @author 芋道源码
 */
@Mapper
public interface ExamInfoMapper extends BaseMapperX<ExamInfoDO> {

    /**
     * 根据appKey和tbl查询测评信息
     *
     * @param appKey API密钥
     * @param tbl 测评类型标记值
     * @return 测评信息
     */
    default ExamInfoDO selectByAppKeyAndTbl(String appKey, String tbl) {
        return selectOne(new LambdaQueryWrapperX<ExamInfoDO>()
                .eq(ExamInfoDO::getAppKey, appKey)
                .eqIfPresent(ExamInfoDO::getTbl, tbl)
                .eq(ExamInfoDO::getStatus, 1));
    }

    /**
     * 根据appKey和tbl删除测评信息
     *
     * @param appKey API密钥
     * @param tbl 测评类型标记值
     * @return 删除数量
     */
    default int deleteByAppKeyAndTbl(String appKey, String tbl) {
        return delete(new LambdaQueryWrapperX<ExamInfoDO>()
                .eq(ExamInfoDO::getAppKey, appKey)
                .eqIfPresent(ExamInfoDO::getTbl, tbl));
    }

}
